// 正则表达式
var reg = /^1\d{10}/

var  b = 18762890415

var c = 12312312312312

console.log(reg.test(b))

console.log(reg.test(c))

//匹配小数

reg = /^-?\d+(\.\d+)+/g

console.log(reg.test(2))
console.log(reg.test(-2))
console.log(reg.test(2.))
console.log(reg.exec(2.2))
console.log(reg.exec('2.222.2'))


// 正则字符串分割
var str ='dasdxzcxz sw -99urwrdna cnasl3,094324,jnad aslm- da 049 02-39849=01'
var str1 = 'dsadas,fafaf asda- dasdas'
var result = str.split(/[, \-\s\t!@#$%^&*()=\n]/)
console.log(result,str1)

// 字符串replace
//空白字符替换，

var strtest = 'a dsd sd asd sdsa'
strtest = strtest.replace(/\s/g,',')
console.log(strtest)

var he = 'hellow world\tjava\nscript'
he = he.replace(/\s*\b[a-z]\s*/g,function(match){
  console.log(match)
  return match.toUpperCase().trim()
})
console.log(he)



// 检测中文
var reg = /[\u4e00-\u9fa5]+/g
    var a = '打算dsa带回家asdsa啊大姐dasd挥洒把asdsadas大姐八九点吧asdasa'
    var n = 0
    while(result = reg.exec(a)){
      n++
      console.log(`${result}`)
      console.log(`最终匹配中文${n}次`)
    }
    console.log(`最终匹配中文${n}次`)


var arrchinese = ['共产党','游戏','色情']

var reg1 = new RegExp(`(${arrchinese.join('|')})`,'g')

var chen = '共产党,共产党as色情da游戏sdsa共产党asdas共产党'

var n = 0

chen = chen.replace(reg1,function(macth){
  return '****'
})
console.log(chen)
// while(result = reg1.exec(chen){
//   n++
//   console.log(`${result}`)
//   console.log(`最终匹配中文${n}次`)
// }



// 处理年月日

var date = "2023-05-03,2022-08-01,2023-01-22"

var regdate = /(?<y>\d{4})-(?<m>\d{1,2})-(?<d>\d{1,2})/g
// while(result = regdate.exec(date)){
//   console.log(result)
// }
// date = date.replace(regdate,function(macth,g1,g2,g3){
//   console.log(macth,g1,g2,g3)
//       return `${g1}年${g2}月${g3}日`
// })
// console.log(date)
//2023年05月03日,2022年08月01日,2023年01月22日

date = date.replace(regdate,'$1/$2/$3')

console.log(date)
//2023/05/03,2022/08/01,2023/01/22


// 反向引用



var a = 'aaaaa'

var regBack = /(?<a>\w)\1+/g
while(resultAc = regBack.exec(a)){
  console.log(resultAc)
}

// 正向断言

var num = '1232132132131231212312321'

var regNum = /\B(?=(\d{3})+$)/g


// while(resultNum = regNum.exec(num)){
//   console.log(resultNum)
// }
num = num.replace(regNum,',')
console.log(num)

//负向断言
//判断密码强度 必须出现 小写字母，大写字母，特殊字符（！_ @,.）
var pass= 'Wsy1213??'
var passReg = /^(?=.*[a-z])(?=.*[A-Z](?=.*\d)(?=.*[@,#._?!])).{6,12}$/g
console.log(passReg.test(pass))

// 小写字母，大写字母，特殊字符 强

// 小写字母，大写字母，中

// 小写字母，大写字母，轻

//其他 = 不满足要求